redis 命令、命令行根据前缀(通配符)批量删除redis存储的key

您所在的位置:网站首页 redis 删除目录 redis 命令、命令行根据前缀(通配符)批量删除redis存储的key

redis 命令、命令行根据前缀(通配符)批量删除redis存储的key

2024-07-13 03:29| 来源: 网络整理| 查看: 265

redis简介

redis作为缓存服务器在项目中经常使用

使用redis存储数据时,我们经常会将key分组

使用冒号(:)分组或者其他的自定义前缀方式,如果我们需要清除redis特定的key内容时,在命令行下又没有直接的命令可用,可以使用linux的xargs参数或者第三方工具

一、使用命令行批量删除redis的key

首先linux服务器上需要安装redis客户端,然后进入到redis-cli命令所在的目录

./redis-cli -h IP -p PORT -a PASSWORD keys 'key*' | xargs ./redis-cli -h IP -p PORT -a PASSWORD del IP:redis服务器的IP地址 PORT:redis服务的端口 PASSWORD :redis服务的密码 例如:

删除本机127.0.0.1,默认端口6379,密码为123456的redis服务上org开头的key

./redis-cli -h 127.0.0.1 -p 6379 -a 123456 keys 'org*' | xargs ./redis-cli -h 127.0.0.1 -p 6379 -a 123456 del 二、使用图形界面工具RedisDesktopManager

新版本的RedisDesktopManager目前支持通过分组批量删除key

打开软件,点击左下角的“Connect to Redis Server”新建redis链接 redis-connect.png 配置:连接的别名(Name:自定义)、Host(redis服务的ip)、端口(port)、密码(Auth)连接到redis服务

在需要删除的key分组上右击“Delete Namaspace”删除分组

del-namespace.png 注意如果通过工具的Namaspace删除key分组,key的前缀分别必须使用冒号“:”进行分组,否则无法使用工具删除 三、使用jedis批量删除keys

方法将需要删除的key转换成数组传入jedis.del(keys)批量删除key

// java代码 public static void deleteByPattern(Jedis jedis, String pattern) { Set keys = jedis.keys(pattern); if(keys != null && !keys.isEmpty()) { String keyArr[] = new String[keys.size()]; jedis.del(keys.toArray(keyArr)); } } // jedis的del方法源码 public Long del(final String... keys) { checkIsInMultiOrPipeline(); client.del(keys); return client.getIntegerReply(); }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3